package com.gzlg.hospital.service;

import com.github.pagehelper.PageInfo;
import com.gzlg.hospital.pojo.Appointment_details;
import com.gzlg.hospital.pojo.Medical_record;
import com.gzlg.hospital.pojo.Patient;
import com.gzlg.hospital.pojo.Registration;
import com.gzlg.hospital.pojo.query.hQuery;

import java.util.Map;

public interface PatientService {
    public PageInfo<Patient> listPatientByName(hQuery hQuery);
    public PageInfo<Medical_record> listMedicalRecordByName(hQuery hQuery);
    public Patient getPatientByName(String name);


    //通过id获取患者信息
    public Patient  getPatientById(Integer id);
    //通过账户获取患者信息
    public Patient getPatientByAccount(String account);
    //通过患者id获取全部病历
    public PageInfo<Medical_record> getMedicalRecordByPatientID(Integer patient_id,  hQuery hQuery);
    //通过挂号id获取患者信一条病历信息
    public PageInfo<Medical_record> getMedicalRecordByIdPatientID(Map<String,Integer> map,hQuery hQuery);
    //插入挂号信息
    public Boolean insertRegistration(Integer patient_id, String symptoms);
    //通过患者获取挂号信息
    public PageInfo<Registration> listRegistrationById(Integer patient_id,hQuery hQuery);
    //通过挂号id获取挂号信息
    public PageInfo<Registration> getRegistrationByIdPatientId(Map<String,Integer> map, hQuery hQuery);
    //患者查看要就诊的信息
    public PageInfo<Appointment_details> listAppointmentDetailsByPatientId(Integer patient_id, hQuery hQuery);
    //患者查看某条处理挂号信息
    public PageInfo<Appointment_details> listAppointmentDetailsByRegistrationIdPatientId(Map<String,Integer> map, hQuery hQuery);
    //插入患者信息
    public Boolean insertPatient(Patient patient);
}
